API 最基本遇到的問題是如果使用者越來越多的時候
一台 Server 一定無法滿足這些負擔
可以透過負載平衡將壓力平均到幾台 Server 上
http {
upstream myapp1 {
server srv1.example.com weight=1;
server srv2.example.com weight=2;
server srv3.example.com weight=3;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
使用 upstream 來設定要做分流的 Server Name、IP,而 weight 則是設定權重
經過以上簡單的設定後
一個 Load Balancer 機制就完成了
可以使用 ab test 來打 Load Balancer 那台
同時去 Web 1、Web 2 看 access log
成功的話會發現兩台 Web 會一起分擔 ab 打過來的 Request